IOS开发总结

Catalogue
  1. IOS技术栈
  2. Objective-C 项目 启动入口

IOS技术栈

编程语言:Swift、Objective-C。

  • Swift:Swift旨在比Objective-C更安全、更快,并且更易于学习。
  • Objective-C:传统的iOS开发语言,仍然被广泛使用,尤其是在维护旧项目或使用某些第三方库时。

Objective-C 项目 启动入口

入口及项目结构核心环节

  1. main.m

在 Objective-C 项目中,main.m 是应用程序的入口文件,它包含了 main 函数,这是 C 和 C++ 程序的标准入口点。
main.m 文件通常位于项目的根目录下,它负责设置应用程序的环境,创建和返回一个 UIApplication 实例,并启动事件循环。

  1. UIApplicationMain

UIApplicationMain 是一个宏,它在 main.m 文件中被调用,用于启动应用程序的运行循环。
这个宏接受几个参数,包括应用程序的类、启动器的类、启动器的参数和返回值。

  1. AppDelegate

AppDelegate 是一个继承自 UIApplicationDelegate 的类,它负责协调应用程序的生命周期事件。
在 main.m 文件中,UIApplicationMain 宏会创建 AppDelegate 实例,并在应用程序启动时调用其方法,如 application:didFinishLaunchingWithOptions:。

  1. Info.plist

Info.plist 文件包含了应用程序的配置信息,如应用程序的显示名称、Bundle Identifier、启动画面等。
在 Info.plist 中,你可以指定 UIApplicationDelegate 类的名称,这个类就是 AppDelegate。

  1. 启动画面(Launch Screen):

启动画面是用户在打开应用程序时首先看到的界面,它通常在 LaunchScreen.storyboard 或 LaunchScreen.xib 文件中定义。

  1. RootViewController
    RootViewController 是应用程序的初始视图控制器,它在 AppDelegate 的 window 属性中被设置。
    在 application:didFinishLaunchingWithOptions: 方法中,你可以加载并设置 RootViewController。

在 Swift 项目中,main.swift 文件取代了 main.m,但入口点的概念和流程基本相同。Swift 项目同样使用 UIApplicationMain 宏来启动应用程序,并且也有一个 AppDelegate 类来处理应用程序的生命周期事件。

总的来说,iOS 项目的入口点是 main.m 或 main.swift 文件中的 UIApplicationMain 宏,它启动了应用程序的运行循环,并设置了 AppDelegate 和 UIApplication。这些组件共同定义了应用程序的启动流程和生命周期管理。